--- a/netem/maketable.c
+++ b/netem/maketable.c
@@ -11,7 +11,9 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <math.h>
+#if !defined(__APPLE__) && !defined(__FreeBSD__)
 #include <malloc.h>
+#endif
 #include <string.h>
 #include <sys/types.h>
 #include <sys/stat.h>
--- a/netem/normal.c
+++ b/netem/normal.c
@@ -9,8 +9,12 @@
 #include <string.h>
 #include <limits.h>
 
+#if !defined(__APPLE__) && !defined(__FreeBSD__)
 #include <linux/types.h>
 #include <linux/pkt_sched.h>
+#else
+#define NETEM_DIST_SCALE        8192
+#endif
 
 #define TABLESIZE 16384
 #define TABLEFACTOR NETEM_DIST_SCALE
--- a/netem/pareto.c
+++ b/netem/pareto.c
@@ -8,8 +8,12 @@
 #include <math.h>
 #include <limits.h>
 
+#if !defined(__APPLE__) && !defined(__FreeBSD__)
 #include <linux/types.h>
 #include <linux/pkt_sched.h>
+#else
+#define NETEM_DIST_SCALE        8192
+#endif
 
 static const double a=3.0;
 #define TABLESIZE	16384
--- a/netem/paretonormal.c
+++ b/netem/paretonormal.c
@@ -15,10 +15,13 @@
 #include <string.h>
 #include <math.h>
 #include <limits.h>
+#if !defined(__APPLE__) && !defined(__FreeBSD__)
 #include <malloc.h>
-
 #include <linux/types.h>
 #include <linux/pkt_sched.h>
+#else
+#define NETEM_DIST_SCALE        8192
+#endif
 
 #define TABLESIZE	16384
 #define TABLEFACTOR	NETEM_DIST_SCALE
